package cz.stv.kucera_evzen_sen.auto;

import cz.stv.pecinovsky.správceplátna.Kreslítko;
import cz.stv.pecinovsky.správceplátna.Mnohotvar;
import cz.stv.pecinovsky.správceplátna.Obdélník;
import cz.stv.pecinovsky.utility.Barva;
import cz.stv.pecinovsky.utility.Pozice;
import cz.stv.pecinovsky.utility.Rozměr;

public class Auto1Z implements IAuto1
{
   private Mnohotvar celek;
   private Obdélník světloL;
   private Obdélník světloR;

   public void vpřed()
   {
       celek.posunVpravo(-celek.getŠířka());
   }

   public void nakresli(Kreslítko kreslítko)
   {   celek.nakresli(kreslítko);   }

   public int getX()
   {   return celek.getX();   }

   public int getY()
   {   return celek.getY();   }

   public void setPozice(int x, int y)
   {   celek.setPozice(x, y);   }

   public int getŠířka()
   {   return celek.getŠířka();   }

   public int getVýška()
   {   return celek.getVýška();   }

   public void setRozměr(int šířka, int výška)
   {   celek.setRozměr(šířka, výška);   }

   public void setPozice(Pozice pozice)
   {   celek.setPozice(pozice);   }

   public Pozice getPozice()
   {   return celek.getPozice();   }

   public Rozměr getRozměr()
   {   return celek.getRozměr();   }

   public void setRozměr(Rozměr rozměr)
   {   celek.setRozměr(rozměr);   }

   public IAuto1 doleva()
   {
       IAuto1 otočené = new Auto1J (getX(), getY(), getŠířka(), getVýška());
       return otočené;
   }

   public IAuto1 doprava()
   {
       IAuto1 otočené = new Auto1S (getX(), getY(), getŠířka(), getVýška());
       return otočené;
   }

   public Auto1Z()
   {   this(0, 0);   }

   public Auto1Z(int x, int y)
   {   this(x, y, 100, 100);   }

   public Auto1Z(int x, int y, int šířka, int výška)
   {
       int x10  = šířka * 1 / 10;
       int x20  = šířka * 2 / 10;
       int x40  = šířka * 4 / 10;
       int x70  = šířka * 7 / 10;
       int x80  = šířka * 8 / 10;
       int x100 = šířka;

       int y20  = výška * 2 / 10;
       int y30  = výška * 3 / 10;
       int y40  = výška * 4 / 10;
       int y60  = výška * 6 / 10;
       int y80  = výška * 8 / 10;
       int y100 = výška;

       Obdélník podklad = new Obdélník(x+0,   y+  0, x100, y100 ,Barva.ŽÁDNÁ);
       Obdélník tělo    = new Obdélník(x+0,   y+y20, x100, y60  ,Barva.ČERVENÁ);
       Obdélník kabina  = new Obdélník(x+x40, y+y30, x40,  y40  ,Barva.MODRÁ);
       Obdélník koloLZ  = new Obdélník(x+x10, y+  0, x20,  y20  ,Barva.ČERNÁ);
       Obdélník koloLP  = new Obdélník(x+x70, y+  0, x20,  y20  ,Barva.ČERNÁ);
       Obdélník koloPZ  = new Obdélník(x+x10, y+y80, x20,  y20  ,Barva.ČERNÁ);
       Obdélník koloPP  = new Obdélník(x+x70, y+y80, x20,  y20  ,Barva.ČERNÁ);
                světloL = new Obdélník(x+0,   y+y20, x20,  y20  ,Barva.ŽLUTÁ);
                světloR = new Obdélník(x+0,   y+y60, x20,  y20  ,Barva.ŽLUTÁ);

       celek   = new Mnohotvar("");
       celek   .přidej(podklad, tělo, kabina, koloLZ, koloLP, koloPZ, koloPP);
       celek   .přidejTvar(světloL);
       celek   .přidejTvar(světloR);
       celek   .hotovo();
   }
}